package com.ruoyi.product.dto;

import com.ruoyi.product.domain.PmsCategory;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @auther dz
 * @date 2025/3/5
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PmsCategoryDTO extends PmsCategory {

    private List<PmsCategoryDTO> children;

    public static PmsCategoryDTO toDTO(PmsCategory pmsCategory) {

        if (pmsCategory == null) {
            return null;
        }

        PmsCategoryDTO pmsCategoryDTO = new PmsCategoryDTO();
        pmsCategoryDTO.setCatId(pmsCategory.getCatId());
        pmsCategoryDTO.setName(pmsCategory.getName());
        pmsCategoryDTO.setParentCid(pmsCategory.getParentCid());
        pmsCategoryDTO.setCatLevel(pmsCategory.getCatLevel());
        pmsCategoryDTO.setShowStatus(pmsCategory.getShowStatus());
        pmsCategoryDTO.setSort(pmsCategory.getSort());
        pmsCategoryDTO.setIcon(pmsCategory.getIcon());
        pmsCategoryDTO.setProductUnit(pmsCategory.getProductUnit());
        pmsCategoryDTO.setProductCount(pmsCategory.getProductCount());
        pmsCategoryDTO.setSearchValue(pmsCategory.getSearchValue());
        pmsCategoryDTO.setCreateBy(pmsCategory.getCreateBy());
        pmsCategoryDTO.setCreateTime(pmsCategory.getCreateTime());
        pmsCategoryDTO.setUpdateBy(pmsCategory.getUpdateBy());
        pmsCategoryDTO.setUpdateTime(pmsCategory.getUpdateTime());
        pmsCategoryDTO.setRemark(pmsCategory.getRemark());
        pmsCategoryDTO.setParams(pmsCategory.getParams());
        return pmsCategoryDTO;
    }
}
